Enterprise software systems are typically sophisticated, large-scale systems that support many, e.g., hundreds or thousands, of concurrent users. Examples of enterprise software systems include financial planning systems, budget planning systems, order management systems, inventory management systems, sales force management systems, business intelligence tools, enterprise reporting tools, project and resource management systems, and other enterprise software systems.
Many enterprise performance management and business planning applications require a large base of users to enter data that the software then accumulates into higher level areas of responsibility in the organization. Often these complex systems make use of multidimensional data sources that organize and manipulate the tremendous volume of data using data structures referred to as data cubes. A data cube may, for example, include a plurality of hierarchical dimensions having levels and members for storing the multidimensional data. Once data has been entered, a user may wish to view some or all of the data in a coherent manner by generating a report. The system may perform mathematical calculations on the data, combining data submitted by many users. Using the results of these calculations, the system may generate reports for review by higher management.
Reporting and analysis end user products (typically referred to as Business Intelligence, or BI, tools) allow users to author reports and perform data exploration and analysis on a myriad of data sources, such as multi-dimensional data structures, relational databases, flat files, Extensible Markup Language (“XML”) data, data streams, and unorganized text and data. Business intelligence tools may be used to prepare and aggregate individual reports and analyses by executing queries on underlying data sources, and to present those reports and analyses in a user-accessible format. However, the underlying data sources are regularly changing over time and at different levels in the organization hierarchy. Users regularly desire to include such changes in a report, to perform up-to-date analysis. Business intelligence tools often require the user to create report specifications using complex query language or advanced functionality (e.g., selection modes) to define data sources to include when a report is generated.